libyaml-cpp: update to 0.8.0
authorRosen Penev <[email protected]>
Sun, 13 Jul 2025 02:07:29 +0000 (19:07 -0700)
committerTianling Shen <[email protected]>
Fri, 18 Jul 2025 14:18:40 +0000 (22:18 +0800)
Backport patch fixing compilation with GCC 15 and remove upstreamed one.

Signed-off-by: Rosen Penev <[email protected]>
libs/libyaml-cpp/Makefile
libs/libyaml-cpp/patches/010-gcc15.patch [new file with mode: 0644]
libs/libyaml-cpp/patches/010-libcxx.patch [deleted file]

index 15072b515976671efc077fc596de74e60f235d78..35e41acd9c8bb3327acc7cf01168d8e4983e1590 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libyaml-cpp
-PKG_VERSION:=0.7.0
+PKG_VERSION:=0.8.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=yaml-cpp-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/jbeder/yaml-cpp/tar.gz/yaml-cpp-$(PKG_VERSION)?
-PKG_HASH:=43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3
-PKG_BUILD_DIR:=$(BUILD_DIR)/yaml-cpp-yaml-cpp-$(PKG_VERSION)
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/jbeder/yaml-cpp
+PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_MIRROR_HASH:=b81c7d39efa379a52c4cd7a6ee00e21b546e26284a44aa6d4b836e339c655803
 
 PKG_MAINTAINER:= Steven Hessing <[email protected]>
 PKG_LICENSE:=MIT
@@ -32,7 +32,7 @@ define Package/libyaml-cpp
   TITLE:=libyaml-cpp
   URL:=https://github.com/jbeder/yaml-cpp
   DEPENDS:=+libstdcpp
-  ABI_VERSION:=0.7
+  ABI_VERSION:=0.8
 endef
 
 define Package/libyaml-cpp/description
diff --git a/libs/libyaml-cpp/patches/010-gcc15.patch b/libs/libyaml-cpp/patches/010-gcc15.patch
new file mode 100644 (file)
index 0000000..b1418fd
--- /dev/null
@@ -0,0 +1,36 @@
+From 7b469b4220f96fb3d036cf68cd7bd30bd39e61d2 Mon Sep 17 00:00:00 2001
+From: Christopher Fore <[email protected]>
+Date: Wed, 14 Aug 2024 21:02:32 -0400
+Subject: [PATCH] emitterutils: Explicitly include <cstdint>
+
+GCC 15 will no longer include it by default, resulting in build
+failures in projects that do not explicitly include it.
+
+Error:
+src/emitterutils.cpp:221:11: error: 'uint16_t' was not declared in this scope
+  221 | std::pair<uint16_t, uint16_t> EncodeUTF16SurrogatePair(int codePoint) {
+      |           ^~~~~~~~
+src/emitterutils.cpp:13:1: note: 'uint16_t' is defined in header '<cstdint>';
+this is probably fixable by adding '#include <cstdint>'
+   12 | #include "yaml-cpp/null.h"
+  +++ |+#include <cstdint>
+   13 | #include "yaml-cpp/ostream_wrapper.h"
+
+Tests pass.
+
+Closes: #1307
+See-also: https://gcc.gnu.org/pipermail/gcc-cvs/2024-August/407124.html
+See-also: https://bugs.gentoo.org/937412
+Signed-off-by: Christopher Fore <[email protected]>
+---
+ src/emitterutils.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/emitterutils.cpp
++++ b/src/emitterutils.cpp
+@@ -1,4 +1,5 @@
+ #include <algorithm>
++#include <cstdint>
+ #include <iomanip>
+ #include <sstream>
diff --git a/libs/libyaml-cpp/patches/010-libcxx.patch b/libs/libyaml-cpp/patches/010-libcxx.patch
deleted file mode 100644 (file)
index 26128be..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-From 78f338e4ee69bb00fb37faf50f448eeedc8b824c Mon Sep 17 00:00:00 2001
-From: Mark Jan van Kampen <[email protected]>
-Date: Tue, 13 Oct 2020 11:19:57 +0200
-Subject: [PATCH] Adds assert to enable compilation with libcxx+gcc
-
-Somehow this instantiates a template properly otherwise the build fails
----
- include/yaml-cpp/node/iterator.h | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/include/yaml-cpp/node/iterator.h
-+++ b/include/yaml-cpp/node/iterator.h
-@@ -15,6 +15,8 @@
- #include <utility>
- #include <vector>
-+static_assert(std::is_constructible<YAML::Node, const YAML::Node&>::value, "Node must be copy constructable");
-+
- namespace YAML {
- namespace detail {
- struct iterator_value : public Node, std::pair<Node, Node> {